package com.ruoyi.db.domain.system;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户参与众筹活动记录对象 mp_client_raise_record
 * 
 * @author ruoyi
 * @date 2022-08-03
 */
@ApiModel(value = "MpClientRaiseRecord",description = "用户参与众筹活动记录对象 mp_client_raise_record")
public class MpClientRaiseRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户参与众筹活动记录表ID */
    private Long id;

    /** 用户ID */
    @ApiModelProperty(value="用户ID",name="MpClientRaiseRecord$clientId")
    @Excel(name = "用户ID")
    private Long clientId;

    /** 参与时间 */
    @ApiModelProperty(value="参与时间",name="MpClientRaiseRecord$takeTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "参与时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date takeTime;

    /** 参与金额 */
    @ApiModelProperty(value="参与金额",name="MpClientRaiseRecord$takeAmount")
    @Excel(name = "参与金额")
    private BigDecimal takeAmount;

    /** 预购金额 */
    @ApiModelProperty(value="预购金额",name="MpClientRaiseRecord$orderAmount")
    @Excel(name = "预购金额")
    private BigDecimal orderAmount;

    public BigDecimal getNowAmount() {
        return nowAmount;
    }

    public void setNowAmount(BigDecimal nowAmount) {
        this.nowAmount = nowAmount;
    }

    /** 现购金额 */
    @ApiModelProperty(value="现购金额",name="MpClientRaiseRecord$nowAmount")
    @Excel(name = "现购金额")
    private BigDecimal nowAmount;

    public BigDecimal getOrderAmount() {
        return orderAmount;
    }

    public void setOrderAmount(BigDecimal orderAmount) {
        this.orderAmount = orderAmount;
    }

    /** 参与类型。1抢购，2预购 */
    @ApiModelProperty(value="参与类型。1抢购，2预购",name="MpClientRaiseRecord$takeType")
    @Excel(name = "参与类型。1抢购，2预购")
    private Integer takeType;

    /** 预约时间 */
    @ApiModelProperty(value="预约时间",name="MpClientRaiseRecord$orderTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 获得的金藻收益 */
    @ApiModelProperty(value="获得的金藻收益",name="MpClientRaiseRecord$getGoldAmount")
    @Excel(name = "获得的金藻收益")
    private BigDecimal getGoldAmount;

    /** 获得银藻收益 */
    @ApiModelProperty(value="获得银藻收益",name="MpClientRaiseRecord$getSilverAmount")
    @Excel(name = "获得银藻收益")
    private BigDecimal getSilverAmount;

    /** 结算时间 */
    @ApiModelProperty(value="结算时间",name="MpClientRaiseRecord$settlementTime")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date settlementTime;

    /** 众筹活动ID */
    @ApiModelProperty(value="众筹活动ID",name="MpClientRaiseRecord$raiseId")
    @Excel(name = "众筹活动ID")
    private Long raiseId;

    /** 是否使用5倍卡，1是，0否 */
    @ApiModelProperty(value="是否使用5倍卡，1是，0否",name="MpClientRaiseRecord$propCardFiveUse")
    @Excel(name = "是否使用5倍卡，1是，0否")
    private Integer propCardFiveUse;

    /** 是否使用3倍卡，1是，0否 */
    @ApiModelProperty(value="是否使用3倍卡，1是，0否",name="MpClientRaiseRecord$propCardThreeUse")
    @Excel(name = "是否使用3倍卡，1是，0否")
    private Integer propCardThreeUse;

    /** 是否结算了业绩收益，1是，0否 */
    @ApiModelProperty(value="是否结算了业绩收益，1是，0否",name="MpClientRaiseRecord$isSettleEarns")
    @Excel(name = "是否结算了业绩收益，1是，0否")
    private Integer isSettleEarns;

    @ApiModelProperty(value="是否是优先预购，1是，0否",name="MpClientRaiseRecord$isFirstOrder")
    @Excel(name = "是否是优先预购，1是，0否")
    private Integer isFirstOrder;

    @ApiModelProperty(value="优先预购消耗的银藻",name="MpClientRaiseRecord$firstOrderSilverAmount")
    @Excel(name = "优先预购消耗的银藻")
    private BigDecimal firstOrderSilverAmount;

    @ApiModelProperty(value="活动是否可用，1可，0失效（不计算业绩）",name="MpClientRaiseRecord$isRaiseAble")
    @Excel(name = "活动是否可用，1可，0失效（不计算业绩）")
    private Integer isRaiseAble;
    @ApiModelProperty(value="道具卡ID",name="MpClientRaiseRecord$cardId")
    @Excel(name = "道具卡ID")
    private Long cardId;
    private String raiseName;

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    private BigDecimal totalAmount;
    private String cardName;

    public String getCardName() {
        return cardName;
    }

    public void setCardName(String cardName) {
        this.cardName = cardName;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm")
    private Date raiseTime;

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    private String startTime;

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    private String endTime;
    public Integer getIsAble() {
        return isAble;
    }

    public void setIsAble(Integer isAble) {
        this.isAble = isAble;
    }

    public Integer getIsOver() {
        return isOver;
    }

    public void setIsOver(Integer isOver) {
        this.isOver = isOver;
    }

    private Integer isAble;
    private Integer isOver;
    private BigDecimal raiseRate;

    public BigDecimal getRaiseRate() {
        return raiseRate;
    }

    public void setRaiseRate(BigDecimal raiseRate) {
        this.raiseRate = raiseRate;
    }

    public Date getRaiseTime() {
        return raiseTime;
    }

    public void setRaiseTime(Date raiseTime) {
        this.raiseTime = raiseTime;
    }

    public String getRaiseName() {
        return raiseName;
    }

    public void setRaiseName(String raiseName) {
        this.raiseName = raiseName;
    }

    private String clientName;

    public String getClientName() {
        return clientName;
    }

    public void setClientName(String clientName) {
        this.clientName = clientName;
    }

    public Long getRunTime() {
        return runTime;
    }

    public void setRunTime(Long runTime) {
        this.runTime = runTime;
    }

    public Long getListTime() {
        return listTime;
    }

    public void setListTime(Long listTime) {
        this.listTime = listTime;
    }

    public String getRaiseStatus() {
        return raiseStatus;
    }

    public void setRaiseStatus(String raiseStatus) {
        this.raiseStatus = raiseStatus;
    }

    public Integer getIsSuccess() {
        return isSuccess;
    }

    public void setIsSuccess(Integer isSuccess) {
        this.isSuccess = isSuccess;
    }

    private Long runTime;
    private Long listTime;
    private String raiseStatus;
    private Integer isSuccess;
    public Long getCardId() {
        return cardId;
    }

    public void setCardId(Long cardId) {
        this.cardId = cardId;
    }

    public Integer getIsFirstOrder() {
        return isFirstOrder;
    }

    public void setIsFirstOrder(Integer isFirstOrder) {
        this.isFirstOrder = isFirstOrder;
    }

    public BigDecimal getFirstOrderSilverAmount() {
        return firstOrderSilverAmount;
    }

    public void setFirstOrderSilverAmount(BigDecimal firstOrderSilverAmount) {
        this.firstOrderSilverAmount = firstOrderSilverAmount;
    }

    public Integer getIsRaiseAble() {
        return isRaiseAble;
    }

    public void setIsRaiseAble(Integer isRaiseAble) {
        this.isRaiseAble = isRaiseAble;
    }

    public BigDecimal getReturnGoldAmount() {
        return returnGoldAmount;
    }

    public void setReturnGoldAmount(BigDecimal returnGoldAmount) {
        this.returnGoldAmount = returnGoldAmount;
    }

    public BigDecimal getReturnSilverAmount() {
        return returnSilverAmount;
    }

    public void setReturnSilverAmount(BigDecimal returnSilverAmount) {
        this.returnSilverAmount = returnSilverAmount;
    }

    @ApiModelProperty(value="活动失败返还的预购金藻金额",name="MpClientRaiseRecord$returnGoldAmount")
    @Excel(name = "活动失败返还的预购金藻金额")
    private BigDecimal returnGoldAmount;

    @ApiModelProperty(value="活动失败返还的预购银藻金额",name="MpClientRaiseRecord$returnSilverAmount")
    @Excel(name = "活动失败返还的预购银藻金额")
    private BigDecimal returnSilverAmount;

    public Integer getIsSettleEarns() {
        return isSettleEarns;
    }

    public void setIsSettleEarns(Integer isSettleEarns) {
        this.isSettleEarns = isSettleEarns;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setClientId(Long clientId) 
    {
        this.clientId = clientId;
    }

    public Long getClientId() 
    {
        return clientId;
    }
    public void setTakeTime(Date takeTime) 
    {
        this.takeTime = takeTime;
    }

    public Date getTakeTime() 
    {
        return takeTime;
    }
    public void setTakeAmount(BigDecimal takeAmount)
    {
        this.takeAmount = takeAmount;
    }

    public BigDecimal getTakeAmount()
    {
        return takeAmount;
    }
    public void setTakeType(Integer takeType) 
    {
        this.takeType = takeType;
    }

    public Integer getTakeType() 
    {
        return takeType;
    }
    public void setOrderTime(Date orderTime) 
    {
        this.orderTime = orderTime;
    }

    public Date getOrderTime() 
    {
        return orderTime;
    }
    public void setGetGoldAmount(BigDecimal getGoldAmount) 
    {
        this.getGoldAmount = getGoldAmount;
    }

    public BigDecimal getGetGoldAmount() 
    {
        return getGoldAmount;
    }
    public void setGetSilverAmount(BigDecimal getSilverAmount) 
    {
        this.getSilverAmount = getSilverAmount;
    }

    public BigDecimal getGetSilverAmount() 
    {
        return getSilverAmount;
    }
    public void setSettlementTime(Date settlementTime) 
    {
        this.settlementTime = settlementTime;
    }

    public Date getSettlementTime() 
    {
        return settlementTime;
    }
    public void setRaiseId(Long raiseId) 
    {
        this.raiseId = raiseId;
    }

    public Long getRaiseId() 
    {
        return raiseId;
    }
    public void setPropCardFiveUse(Integer propCardFiveUse) 
    {
        this.propCardFiveUse = propCardFiveUse;
    }

    public Integer getPropCardFiveUse() 
    {
        return propCardFiveUse;
    }
    public void setPropCardThreeUse(Integer propCardThreeUse) 
    {
        this.propCardThreeUse = propCardThreeUse;
    }

    public Integer getPropCardThreeUse() 
    {
        return propCardThreeUse;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("clientId", getClientId())
            .append("takeTime", getTakeTime())
            .append("takeAmount", getTakeAmount())
            .append("takeType", getTakeType())
            .append("orderTime", getOrderTime())
            .append("getGoldAmount", getGetGoldAmount())
            .append("getSilverAmount", getGetSilverAmount())
            .append("settlementTime", getSettlementTime())
            .append("raiseId", getRaiseId())
            .append("propCardFiveUse", getPropCardFiveUse())
            .append("propCardThreeUse", getPropCardThreeUse())
            .toString();
    }
}
